<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 定义一个宠物类
        function Pet(nickname, age) {
          this.nickname = nickname;
          this.age = age;
        }
    
        // 在宠物类原型上定义一个方法，用于获取宠物的昵称和年龄
        Pet.prototype.getNicknameAge = function () {
          return { 
            nickname: this.nickname, 
            age: this.age };
        }
    
        // 定义一个狗类，继承自宠物类
        function Dog(nickname, age, color) {
          // 调用宠物类的构造函数，初始化狗的昵称和年龄
          Pet.call(this, nickname, age);
          this.color = color;
        }
    
        // 设置狗类的原型为宠物类的实例，实现继承
        Dog.prototype = Object.create(Pet.prototype);

        // 修正狗类的构造函数指向
        Dog.prototype.constructor = Dog;
    
        // 在狗类原型上定义一个方法，用于获取狗的颜色
        Dog.prototype.getColor = function () {
          return this.color;
        }
    
        // 创建一个狗实例
        const dog = new Dog('旺财', 3, '黄色');
    
        // 使用解构赋值获取狗的昵称和年龄
        const { nickname, age } = dog.getNicknameAge();
    
        // 打印狗的昵称、年龄和颜色
        console.log(`宠物昵称: ${nickname}`);
        console.log(`宠物年龄: ${age}`);
        console.log(`宠物颜色: ${dog.getColor()}`);
    </script>
</body>
</html>